Conditions | 3 |
Total Lines | 20 |
Code Lines | 13 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | export default function getByKey(original, key, defaultValue) { |
||
2 | const keys = key.split('.'); |
||
3 | |||
4 | let reference = original; |
||
5 | |||
6 | while (keys.length > 0) { |
||
7 | const referenceKey = keys.shift(); |
||
8 | |||
9 | if ( |
||
10 | reference === null || |
||
11 | reference === undefined || |
||
12 | !Object.prototype.hasOwnProperty.call(reference, referenceKey) |
||
13 | ) { |
||
14 | return defaultValue; |
||
15 | } |
||
16 | reference = reference[referenceKey]; |
||
17 | } |
||
18 | |||
19 | return reference; |
||
20 | } |
||
21 |